/*

 Vinlic Frame 1.1.0
 Vinlic

*/

//使用严格模式
"use strict";

//框架根目录
const basePath = process.cwd().replace(/\\/g, "/");

const Startup = require(`${basePath}/libs/Startup`);

//初始化启动器
const startup = new Startup(basePath);

//加载配置文件
startup.loadConfig();

//加载基础框架库
startup.loadLib([
    "Debug",
    {
        enable: startup.config.debug
    }
]);

//加载模块
startup.loadModule(
    ["Koa", "koa"],
    ["Router", "koa-router"],
    ["Logger", "koa-logger"],
    ["BodyParser", "koa-bodyparser"],
    ["XmlParser", "koa-xml-body", {
        xmlOptions: {
            explicitArray: false
        },
        onerror: (err, ctx) => {
            console.error(err)
            // common.writeLog('error', `parse xml data failed:${err.status} ${err.message}`)
            // ctx.body = parseError('-2056', 'parse post xml data failed')
        }
    }],
    ["Multer", "koa-multer"]
);

//加载依赖模块的框架库
startup.loadLib("Common");

//注册线程事件监听
startup.registerProcessEvent();


// console.log("载入完成", startup.module, startup.lib.common);